1. Field of the Invention
The present invention relates to search technology.
2. Related Art
Computer networks store increasing amounts of information. Users rely on search technology to access information. Users formulate search queries (or simply queries) that may include terms (also called keywords) that identify what information is being sought. Search engines have been developed to receive such search queries and to return ordered results (also called hits) that fulfill the search query. The development of web technology has also helped users access information and search. Users can use browsers to access search engines, to input search queries, and to receive search results. Browsing and searching are now used to help users carry out a variety of transactions, to find information, to navigate information, and to perform other tasks in a variety of applications.
Different types of search engines have been developed to carry out searches. Many search engines (also called general-purpose search engines) are designed to accommodate a large number of users that may carry out a wide range of searches across different types of subject matter located in different web sites. Other search engines (special-purpose search engines) may specialize in searching certain types of content or domains. Users may control which search engines they select; however, control over individual search engine behavior is restricted to proprietors of the search engine only. Users and other third-parties, such as developers, have often faced a take-it-or-leave-it situation with respect to search engine behavior.
Limited attempts have been made to allow users to filter searches. Such attempts have been limited to mere filtering by a browser of returned results to block undesired content (such as, parental web site blocking tools). Different browser tools have also been used to remove undesirable search terms in search queries prior to sending these terms to search engines.
Furthermore, different search engines may return different results. For example, a general web search engine may return results from across the web, whereas an academic different search engine may only return papers or conference proceedings.
Systems and methods are needed that allow a developer to construct a search executor that tailors queries and results from multiple search engines to meet specific needs.